#ifndef __WORLD_H__
#define __WORLD_H__

#include "Remote.h"
#include <vector>

class World
{
public:
	static World* instance();
	~World();

	void update(vector <Command> & commands);

	vector <constant_t> & constants();
	vector <flag_t> & flags();
	vector <tank_t> & tanks();
	vector <obstacle_t> & obstacles();
	vector <otank_t> & other_tanks();
	vector <shot_t> & shots();
	vector <team_t> & teams();

	int getSize();
private:
	World();
	static World* _instance;

	vector <constant_t> _constants;
	vector <flag_t> _flags;
	vector <tank_t> _tanks;
	vector <obstacle_t> _obstacles;
	vector <otank_t> _other_tanks;
	vector <shot_t> _shots;
	vector <team_t> _teams;

	int size;
};

#endif